home *** CD-ROM | disk | FTP | other *** search
/ User's Choice Windows CD / User's Choice Windows CD (CMS Software)(1993).iso / misc1 / iv26_w30.zip / INTERVIE / FILECHOO.H < prev    next >
C/C++ Source or Header  |  1980-01-03  |  3KB  |  73 lines

  1. /*
  2.  * Copyright (c) 1987, 1988, 1989 Stanford University
  3.  *
  4.  * Permission to use, copy, modify, distribute, and sell this software and its
  5.  * documentation for any purpose is hereby granted without fee, provided
  6.  * that the above copyright notice appear in all copies and that both that
  7.  * copyright notice and this permission notice appear in supporting
  8.  * documentation, and that the name of Stanford not be used in advertising or
  9.  * publicity pertaining to distribution of the software without specific,
  10.  * written prior permission.  Stanford makes no representations about
  11.  * the suitability of this software for any purpose.  It is provided "as is"
  12.  * without express or implied warranty.
  13.  *
  14.  * STANFORD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
  15.  * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS.
  16.  * IN NO EVENT SHALL STANFORD BE LIABLE FOR ANY SPECIAL, INDIRECT OR
  17.  * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
  18.  * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
  19.  * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
  20.  * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  21.  */
  22.  
  23. /*
  24.  * FileChooser - a StringChooser for choosing files from a directory.
  25.  */
  26.  
  27. #ifndef filechooser_h
  28. #define filechooser_h
  29.  
  30. #include <InterViews/strchooser.h>
  31.  
  32. class Button;
  33. class FileBrowser;
  34. class MarginFrame;
  35.  
  36. class FileChooser : public StringChooser {
  37. public:
  38.     FileChooser(
  39.         const char* title = "Please select a file:",
  40.         const char* subtitle = "",
  41.         const char* dir = "~",
  42.         int rows = 10, int cols = 24,
  43.         const char* acceptLabel = " Open ",
  44.         Alignment = Center
  45.     );
  46.     FileChooser(
  47.         const char* name, const char* title, const char* subtitle,
  48.         const char* dir, int, int, const char* acceptLabel, Alignment
  49.     );
  50.  
  51.     void SetTitle(const char*);
  52.     void SetSubtitle(const char*);
  53.     void SelectFile();
  54.  
  55.     virtual boolean Accept();
  56. protected:
  57.     FileChooser(ButtonState*, Alignment = Center);
  58.     FileChooser(ButtonState*, const char* dir, int rows, int cols, Alignment);
  59.     void Init(const char*, const char*);
  60.     Interactor* Interior(const char* acptlbl);
  61.     Interactor* AddScroller(Interactor*);
  62.     FileBrowser* browser();
  63.  
  64.     virtual void UpdateEditor();
  65.     virtual void UpdateBrowser();
  66. protected:
  67.     MarginFrame* title, *subtitle;
  68. };
  69.  
  70. inline FileBrowser* FileChooser::browser () { return (FileBrowser*) _browser; }
  71.  
  72. #endif
  73.